home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / BASIC / 0007.ZIP / HIRESCOL.BAS < prev    next >
BASIC Source File  |  1984-03-05  |  5KB  |  135 lines

  1. 1000 SCREEN 2 : KEY OFF : CLS
  2. 1010 PRINT "             640 x 200  Black & White Graphics Mode Demonstration"
  3. 1020 PRINT
  4. 1030 PRINT
  5. 1040 PRINT "       *************      I N    F U L L   C O L O R      *************"
  6. 1050 PRINT
  7. 1060 PRINT "                   Technique discovered by: JAMES L JOHNSEN"
  8. 1070 PRINT
  9. 1080 PRINT "    and implemented through a program originally written for the 320 x 200"
  10. 1090 PRINT "graphics mode by: MICRO-G, P.O. BOX 102, DULUTH, GEORGIA 30136, (404) 476-5779"
  11. 1100 PRINT
  12. 1110 PRINT " Just look at the letters (left edge and top) to see that we're in 640 x 200."
  13. 1130 PRINT
  14. 1140 PRINT
  15. 1150 LOCATE 13,24 :PRINT " USE CURSOR KEYS TO CHANGE COLORS"
  16. 1160 LOCATE 15,23 :PRINT " PRESS THE <ESC> KEY FOR COLOR DEMO"
  17. 1180 CLS : OUT (984),14
  18. 1190 KEY(11) ON :KEY(12) ON
  19. 1200 KEY(13) ON :KEY(14) ON
  20. 1210 ON KEY(11) GOSUB 1350
  21. 1220 ON KEY(12) GOSUB 1380
  22. 1230 ON KEY(13) GOSUB 1390
  23. 1240 ON KEY(14) GOSUB 1420
  24. 1250 CLS
  25. 1260 BACK=7
  26. 1270 OUT (985),16
  27. 1280 GOSUB 1450
  28. 1290 GOSUB 1520
  29. 1300 LOCATE 25,1:PRINT SPC(79);
  30. 1310 LOCATE 25,15:PRINT "BACKGROUND ";BACK;
  31. 1320 LOCATE 25,60:PRINT "PALATE ";PALATE / 16 - 1;
  32. 1330 QUIT$ = INKEY$ : IF QUIT$ = CHR$(27) THEN CLS: GOTO 2000
  33. 1340 GOTO 1310
  34. 1350 BACK=BACK+1: IF BACK=>32 THEN BACK=0
  35. 1360 OUT (985),BACK+PALATE
  36. 1370 RETURN
  37. 1380 GOTO 1390
  38. 1390 PALATE =PALATE+16 :IF PALATE > 32 THEN PALATE=16
  39. 1400 OUT (985),BACK+PALATE
  40. 1410 RETURN
  41. 1420 BACK=BACK-1: IF BACK<0 THEN BACK=31
  42. 1430 OUT (985),BACK+PALATE
  43. 1440 RETURN
  44. 1450 REM PRINT THE NUMBERS
  45. 1460 LOCATE 3,1 :PRINT "          0       1       2       3               0       1       2       3"
  46. 1470 LOCATE 8,1 :PRINT "0"
  47. 1480 LOCATE 13,1 :PRINT "1"
  48. 1490 LOCATE 18,1 :PRINT "2"
  49. 1500 LOCATE 23,1 :PRINT "3"
  50. 1510 RETURN
  51. 1520 V=40
  52. 1530 H=60 :AA=0 :BB=0 :GOSUB 1740
  53. 1540 H=120 :AA=0 :BB=1 :GOSUB 1740
  54. 1550 H=180 :AA=0 :BB=2 :GOSUB 1740
  55. 1560 H=240:AA=0 :BB=3 :GOSUB 1740
  56. 1570 V=80
  57. 1580 H=60 :AA=1 :BB=0 :GOSUB 1740
  58. 1590 H=120 :AA=1 :BB=1 :GOSUB 1740
  59. 1600 H=180:AA=1 :BB=2 :GOSUB 1740
  60. 1610 H=240:AA=1 :BB=3 :GOSUB 1740
  61. 1620 V=120
  62. 1630 H=60 :AA=2 :BB=0 :GOSUB 1740
  63. 1640 H=120:AA=2 :BB=1 :GOSUB 1740
  64. 1650 H=180:AA=2 :BB=2 :GOSUB 1740
  65. 1660 H=240:AA=2 :BB=3 :GOSUB 1740
  66. 1670 V=160
  67. 1680 H=60 :AA=3 :BB=0 :GOSUB 1740
  68. 1690 H=120:AA=3 :BB=1 :GOSUB 1740
  69. 1700 H=180:AA=3 :BB=2 :GOSUB 1740
  70. 1710 H=240:AA=3 :BB=3 :GOSUB 1740
  71. 1720 LOCATE 25,1 :PRINT SPC(79);
  72. 1730 RETURN
  73. 1740 REM DRAW BOXES TWICE CHANGE ORDER OF COLLOR
  74. 1750 FOR B=0 TO 60 STEP 2
  75. 1760 LINE((H+B),(V+40))-((H+B),(V)),AA
  76. 1770 LINE((H+B+1),(V+40))-((H+B+1),(V)),BB
  77. 1780 NEXT B
  78. 1790 H=H+320
  79. 1800 FOR B=0 TO 60 STEP 2
  80. 1810 LINE((H+B),(V+40))-((H+B),(V)),BB
  81. 1820 LINE((H+B+1),(V+40))-((H+B+1),(V)),AA
  82. 1830 NEXT B
  83. 1840 H=H-320
  84. 1850 RETURN
  85. 2000 OUT (984),30 : OUT (985),15
  86. 2010 PRINT "             640 x 200  Black & White Graphics Mode Demonstration"
  87. 2020 PRINT
  88. 2030 PRINT
  89. 2040 PRINT "       *************      I N    F U L L   C O L O R      *************"
  90. 2050 PRINT
  91. 2060 PRINT "                   Technique discovered by: JAMES L JOHNSEN"
  92. 2070 PRINT
  93. 2080 PRINT "        T H E   D  A  Z  Z  Z  L  E  R     Written by James L. Johnsen"
  94. 2090 PRINT
  95. 2100 PRINT "     402 Beech Street, Fort Washington, Maryland. 20744 (h) (301) 292-7169"
  96. 2110 FOR PAUSE = 1 TO 15000 : NEXT PAUSE
  97. 2120 PRINT
  98. 2130 PRINT
  99. 2140 LOCATE 14,26 :PRINT " PRESS THE <ESC> KEY TO QUIT"
  100. 2150 FOR I=0 TO 7000:NEXT I
  101. 2160 OUT (984),14:CLS:DIM T1%(70),T2%(70),Q1%(70),Q2%(70)
  102. 2170 V%=5:X2%=639:H=.5:Y2%=13:X1%=37:Y1%=199:C1=1:WHEREAT%=1:S%=350
  103. 2180 DEF SEG = &H40:X% = PEEK(&H6C) : DEF SEG
  104. 2190 RANDOMIZE X%
  105. 2200 L1% = T1%(WHEREAT%) : J1% = Q1%(WHEREAT%) : L2% = T2%(WHEREAT%) : J2% = Q2%(WHEREAT%)
  106. 2210 LINE (L1%,J1%)-(L2%,J2%),0
  107. 2220 IF C1 > 0 THEN 2290
  108. 2230 C1 = RND (X%) * S% : OUT (985),COLORVAL
  109. 2240 X3% = - V% : X4% = - V% : Y3% = - V% : Y4% = - V%
  110. 2250 IF RND(Y) > H THEN X3% = V%
  111. 2260 IF RND(X%) > H THEN X4% = V%
  112. 2270 IF RND(X%) > H THEN Y3% = V%
  113. 2280 IF RND(X%) > H THEN Y4% = V%
  114. 2290 X1% = X1% + X3%
  115. 2300 IF X1% < 1 OR X1% > 639 THEN X3% = - X3% : GOTO 2290
  116. 2310 T1% (WHEREAT%) = X1%
  117. 2320 X2% = X2% + X4%
  118. 2330 IF X2% < 1 OR X2% > 639 THEN X4% = - X4% : GOTO 2320
  119. 2340 T2%(WHEREAT%) = X2%
  120. 2350 Y1% = Y1% + Y3%
  121. 2360 IF Y1% < 1 OR Y1% > 199 THEN Y3% = - Y3% : GOTO 2350
  122. 2370 Q1%(WHEREAT%)=Y1%
  123. 2380 Y2% = Y2% + Y4%
  124. 2390 IF Y2% < 1 OR Y2% > 199 THEN Y4% = - Y4% : GOTO 2380
  125. 2400 Q2% (WHEREAT%) = Y2%
  126. 2410 L1% = T1%(WHEREAT%) : J1% = Q1%(WHEREAT%) : L2% = T2%(WHEREAT%) : J2% = Q2%(WHEREAT%)
  127. 2420 LINE (L1%,J1%)-(L2%,J2%),1
  128. 2430 WHEREAT% = WHEREAT% + 1
  129. 2440 IF WHEREAT% >= 70 THEN WHEREAT% = 1
  130. 2450 C1 = C1 - 1
  131. 2460 COLORVAL = COLORVAL + 1 : IF COLORVAL > = 64 THEN COLORVAL = 1
  132. 2470 QUITT$ = INKEY$ : IF QUITT$ = "" THEN GOTO 2180
  133. 2480 CLS: SCREEN 0,0,0 : WIDTH 80:COLOR 15,0,0:CLS
  134. 2490 END 'SYSTEM
  135.